#include<bits/stdc++.h>
#define oo 0xfffff
using namespace std;
int M,N;
int Arr[11][11];

int Min = oo;
void dfs(int x,int y,int cur){
    cur+=Arr[x][y];
    if(x<M) dfs(x+1,y,cur);
    if(y<N) dfs(x,y+1,cur);
	if(x==M&&y==N&&cur>0&&Min>cur){
       Min = cur; 
       return;
    } 
}

int main(){
	scanf("%d %d",&M,&N);
	for(int i=1;i<=M;i++)
		for(int j=1;j<=N;j++)
		scanf("%d",&Arr[i][j]);

    dfs(1,1,0);
    printf("%d",Min==oo?-1:Min);
	return 0;
}
